// https://umijs.org/zh-CN/config
import { defineConfig } from 'umi';
import defaultSettings from './defaultSettings';
import proxy from './proxy';
import routes from './routes';
const { REACT_APP_ENV } = process.env;
export default defineConfig({
  // 配置是否让生成的文件包含 hash 后缀，通常用于增量发布和避免浏览器加载缓存。
  hash: true,
  antd: {},
  // 用于提供给代码中可用的变量。
  define: {},
  // 表示是否启用 dva model 的热更新
  dva: { hmr: true },
  // 语言【国际化】
  locale: {
    default: 'zh-CN',
    antd: true,
    baseNavigator: false, // 开启浏览器语言检测
  },
  // 配置 history 类型和配置项。
  history: { type: 'browser' },
  // 是否启用按需加载，即是否把构建产物进行拆分，在需要的时候下载额外的 JS 再执行。
  dynamicImport: { loading: '@ant-design/pro-layout/es/PageLoading' },
  // 配置需要兼容的浏览器最低版本，会自动引入 polyfill 和做语法转换。
  targets: { ie: 11 },
  // umi routes => https://umijs.org/docs/routing
  routes,
  // Theme for antd => https://ant.design/docs/react/customize-theme-cn
  theme: { 'primary-color': defaultSettings.primaryColor },
  title: '后台管理系统', // 配置标题。
  ignoreMomentLocale: true, // 忽略 moment 的 locale 文件，用于减少尺寸。
  proxy: proxy[REACT_APP_ENV || 'dev'], // 配置代理能力。
  // esbuild is father build tools => https://umijs.org/plugins/plugin-esbuild
  esbuild: {},
  // https://github.com/zthxxx/react-dev-inspector
  plugins: ['react-dev-inspector/plugins/umi/react-inspector'],
  inspectorConfig: {
    // loader options type and docs see below
    exclude: [],
    babelPlugins: [],
    babelOptions: {},
  },
  // 配置是否需要生成额外用于描述产物的 manifest 文件，默认会生成 asset-manifest.json。
  manifest: { basePath: '/' },
  // 快速刷新（Fast Refresh），开发时可以保持组件状态，同时编辑提供即时反馈。
  fastRefresh: {},
  // build 名称
  outputPath: 'dist',
  publicPath: '/react-umi-cli-dev/',
  // 提速
  // mfsu: {},
});
